<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        // push构造
// 向数组的末尾添加一个或更多的元素，并返回数组新的长度
// throw new Eroor() 抛出错误，中断后续代码的执行 
    
    // 给数组尾部一旦条件元素，arr.length就会自动重设
    

function array_push(arr){
    if(arr==undefined || arr.constructor!==Array) throw new Error("错误参数");
    if(arguments.length===1) return arr.length;
    for(var i=1;i<arguments.length;i++){
        arr[arr.length]=arguments[i]
    }
  
  
    return arr.length;
}
var arr = [];
var len = array_push(arr,2,3);
console.log(len,arr);

// 为什么i从1开始循环，因为arguments表示的是实参的数量，在实参中已经有了第一项arr，索引的
// 弟0项就是其中的arr，所以i从1开始循环，返回的值是数组的长度


































    </script>
</body>
</html>